#!/usr/bin/env bash
############################################################################
# https://www.cnblogs.com/fnlingnzb-learner/p/10657285.html
# 在脚本的开头，使用『#!/usr/bin/env bash』替换『#!/bin/sh』，防止在不同操作系统上『/bin/sh』链接到不同版本的默认shell;
############################################################################
SCRIPTS_DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "${SCRIPTS_DIR}"
if [ $? -ne 0 ]; then echo "[ERROR] coordinate: [$0][${LINENO}]"; exit 1; fi
############################################################################
# -C <path>    就像 git 在 <path> 而不是当前工作目录中启动一样运行;
#
# 配置缓存模式(缓存凭据到内存, 短时间, 默认秒数: 900)
# git config --global credential.helper cache
#
# 配置存储模式(保存凭据到磁盘, 不加密, 默认文件: ~/.git-credentials)
# git config --global credential.helper store
#
# 查询凭据助手(也可以 cat ~/.gitconfig)
# git config --get    credential.helper
#
find ../../../ -type d -name ".git" -exec echo -e "\e[44m+++\e[0m" \;     \
                                    -exec echo {} \;                      \
                                    -exec echo ---PULL \;                 \
                                    -exec git -C {}/../ pull --rebase \;  \
                                    -exec echo ---REMOTE \;               \
                                    -exec git --git-dir={} remote -v \;   \
                                    -exec echo ---PUSH \;                 \
                                    -exec git -C {}/../ push \;
